using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Vue_AspNetCore_Project.Models
{
    public class Company
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }


        [StringLength(20)]
        [Display(Name = "公司短名字")]
        [Required(ErrorMessage = "公司短名字不能为空")]
        public string CompanyShortName { get; set; }

        [StringLength(100)]
        [Display(Name = "公司名字")]
        // [Required(ErrorMessage = "公司名字不能为空")]
        public string CompanyTitle { get; set; }

        [Column(TypeName = "decimal(18,4)")]
        public decimal? Longtitude { get; set; }
        [Column(TypeName = "decimal(18,4)")]
        public decimal? Latitude { get; set; }


        [StringLength(200)]
        public string LogoUrl { get; set; }
        [StringLength(200)]
        public string Notice { get; set; }


        [Display(Name = "订阅时间")]
        public DateTime subscribedTime { get; set; }

        [Display(Name = "下次收费时间")]
        public DateTime? NextChargeDate { get; set; }

        [Display(Name = "纳税人识别号")]
        [StringLength(100)]
        public string TaxNo { get; set; }

        [Display(Name = "电话号码")]
        [StringLength(100)]
        public string Tel { get; set; }

        [Display(Name = "开户行")]
        [StringLength(100)]
        public string OpenBank { get; set; }

        [Display(Name = "银行账号")]
        [StringLength(100)]
        public string BankAccount { get; set; }

        [Display(Name = "收件人")]
        [StringLength(100)]
        public string Receiver { get; set; }

        [Display(Name = "收件人手机")]
        [StringLength(100)]
        public string ReceiverPhone { get; set; }

        [Display(Name = "收件地址")]
        [StringLength(100)]
        public string PostAddress { get; set; }

        [Display(Name = "邮编")]
        [StringLength(100)]
        public string PostCode { get; set; }

        public DateTime CreatedTime { get; set; }
        public DateTime UpdatedTime { get; set; }
        [StringLength(100)]
        public string CreatedBy { get; set; }
        [StringLength(100)]
        public string UpdatedBy { get; set; }

        public List<ApplicationUser> Users { get; set; } = new List<ApplicationUser>();





    }
}